//上传凭证
$(function() {
    var delParent;
    var defaults = {
        fileType : ["jpg","png","bmp","jpeg"],// 上传文件的类型
        fileSize : 1024 * 1024 * 10 // 上传文件的大小 10M
    };
    /*点击图片的文本框*/
    $(".close-upimg").click(function () {
        //input内容清空
        $(this).val("");
    })

    $("#pictureAddressOne").change(function(){
        var idFile = $(this).attr("id");

        var file = document.getElementById(idFile);
        var imgContainer = $(this).parents(".z_photo"); //存放图片的父亲元素
        var fileList = file.files; //获取的图片文件
        var input = $(this).parent();//文本框的父亲元素
        var imgArr = [];
        //遍历得到的图片文件
        var numUp = imgContainer.find(".up-section").length;
        var totalNum = numUp + fileList.length;  //总的数量
        if(fileList.length > 1 || totalNum > 1 ){
            alert("上传图片数目不可以超过1个，请重新选择");  //一次选择上传超过5个 或者是已经上传和这次上传的到的总数也不可以超过5个
        }
        else if(numUp < 1){
            fileList = validateUp(fileList);
            for(var i = 0;i<fileList.length;i++){
                var imgUrl = window.URL.createObjectURL(fileList[i]);
                imgArr.push(imgUrl);
                var $section = $("<section class='up-section fl loading' id='up-section-one'>");
                imgContainer.prepend($section);
                var $span = $("<span class='up-span'>");
                $span.appendTo($section);

                var $img0 = $("<img class='close-upimg'> id='close-upimg-one'").on("click",function(event){
                    event.preventDefault();
                    event.stopPropagation();
                    $("#works-mask-one").show();
                    delParent = $(this).parent();
                });
                $img0.attr("src","static/images/close.png").appendTo($section);
                var $img = $("<img class='up-img up-opcity' id='up-img-one'>");
                $img.attr("src",imgArr[i]);
                $img.appendTo($section);
                var $p = $("<p class='img-name-p'>");
                $p.html(fileList[i].name).appendTo($section);
                var $input = $("<input id='taglocation' name='taglocation' value='' type='hidden'>");
                $input.appendTo($section);
                var $input2 = $("<input id='tags' name='tags' value='' type='hidden'/>");
                $input2.appendTo($section);

            }
        }
        setTimeout(function(){
            $("#up-section-one").removeClass("loading");
            $("#up-img-one").removeClass("up-opcity");
        },450);
        numUp = imgContainer.find(".up-section").length;
        if(numUp >= 1){
            $(this).parent().hide();
        }

    });

    $("#z_photo-one").delegate("#close-upimg-one","click",function(){
        $("#works-mask-one").show();
        delParent = $(this).parent();
    });

    $("#wsdel-ok-one").click(function(){
        $("#works-mask-one").hide();
        var numUp = delParent.siblings().length;
        if(numUp < 6){
            delParent.parent().find(".z_file").show();
        }
        delParent.remove();
        $("#pictureAddressOne").val("");
    });

    $("#wsdel-no-one").click(function(){
        $("#works-mask-one").hide();
    });

    $("#pictureAddressTwo").change(function(){
        var idFile = $(this).attr("id");

        var file = document.getElementById(idFile);
        var imgContainer = $(this).parents(".z_photo"); //存放图片的父亲元素
        var fileList = file.files; //获取的图片文件
        var input = $(this).parent();//文本框的父亲元素
        var imgArr = [];
        //遍历得到的图片文件
        var numUp = imgContainer.find(".up-section").length;
        var totalNum = numUp + fileList.length;  //总的数量
        if(fileList.length > 1 || totalNum > 1 ){
            alert("上传图片数目不可以超过1个，请重新选择");  //一次选择上传超过5个 或者是已经上传和这次上传的到的总数也不可以超过5个
        }
        else if(numUp < 1){
            fileList = validateUp(fileList);
            for(var i = 0;i<fileList.length;i++){
                var imgUrl = window.URL.createObjectURL(fileList[i]);
                imgArr.push(imgUrl);
                var $section = $("<section class='up-section fl loading' id='up-section-two'>");
                imgContainer.prepend($section);
                var $span = $("<span class='up-span'>");
                $span.appendTo($section);

                var $img0 = $("<img class='close-upimg'> id='close-upimg-two'").on("click",function(event){
                    event.preventDefault();
                    event.stopPropagation();
                    $("#works-mask-two").show();
                    delParent = $(this).parent();
                });
                $img0.attr("src","static/images/close.png").appendTo($section);
                var $img = $("<img class='up-img up-opcity' id='up-img-two'>");
                $img.attr("src",imgArr[i]);
                $img.appendTo($section);
                var $p = $("<p class='img-name-p'>");
                $p.html(fileList[i].name).appendTo($section);
                var $input = $("<input id='taglocation' name='taglocation' value='' type='hidden'>");
                $input.appendTo($section);
                var $input2 = $("<input id='tags' name='tags' value='' type='hidden'/>");
                $input2.appendTo($section);

            }
        }
        setTimeout(function(){
            $("#up-section-two").removeClass("loading");
            $("#up-img-two").removeClass("up-opcity");
        },450);
        numUp = imgContainer.find(".up-section").length;
        if(numUp >= 1){
            $(this).parent().hide();
        }
        //input内容清空
//            $(this).val("");
    });

    $("#z_photo-two").delegate("#close-upimg-two","click",function(){
        $("#works-mask-two").show();
        delParent = $(this).parent();
    });

    $("#wsdel-ok-two").click(function(){
        $("#works-mask-two").hide();
        var numUp = delParent.siblings().length;
        if(numUp < 6){
            delParent.parent().find(".z_file").show();
        }
        delParent.remove();
        $("#pictureAddressTwo").val("");
    });

    $("#wsdel-no-two").click(function(){
        $("#works-mask-two").hide();
    });

    function validateUp(files){
        var arrFiles = [];//替换的文件数组
        var fileNames='';//文件名称
        for(var i = 0, file; file = files[i]; i++){
            //获取文件上传的后缀名
            var newStr = file.name.split("").reverse().join("");
            if(newStr.split(".")[0] != null){
                var type = newStr.split(".")[0].split("").reverse().join("");
                if(jQuery.inArray(type, defaults.fileType) > -1){
                    // 类型符合，可以上传
                    if (file.size >= defaults.fileSize) {
                        alert(file.size);
                        alert('您这个"'+ file.name +'"文件大小过大');
                    } else {
                        // 在这里需要判断当前所有文件中
                        arrFiles.push(file);
                    }
                }else{
                    alert('您这个"'+ file.name +'"上传类型不符合');
                }
            }else{
                alert('您这个"'+ file.name +'"没有类型, 无法识别');
            }
        }
        return arrFiles;
    }
});

//切换所属一级类别获取相应的二级类别
$("#mainTypeCode").change(function () {
    var mainTypeCode = $("#mainTypeCode").val();
    getMenuTwoLevelConfigByMainTypeCode(mainTypeCode);
});

function getMenuTwoLevelConfigByMainTypeCode(mainTypeCode) {
    $.ajax({
        url : path + "/admin/menuTwoLevelConfig/getMenuTwoLevelConfigByMainTypeCode",
        type : "post",
        dataType : "json",
        data : {"mainTypeCode" : mainTypeCode, "status" : 1}, //status为1表示，新增或者修改（排除下架状态的二级类别）
        success : function (data) {
            if (data.code == 200) {
                var list = data.data;
                var html = "";
                for (var i = 0; i < list.length; i++) {
                    html += "<option value='" + list[i].menuCode + "'>" + list[i].menuName + "</option>";
                }
                $("#subTypeCode").html(html);
                $("#subTypeCode option:first").prop("selected", true);
                $("#subTypeCode").chosen();
                $("#subTypeCode").trigger("chosen:updated");
            } else {
                top.hangge();
                bootbox.dialog({
                    message: "<span class='bigger-110'>" + data.msg + "</span>",
                    buttons: {
                        "button" : {
                            "label" : "确定",
                            "className" : "btn-sm btn-success"
                        }
                    }
                });
            }
        }
    });
}

//保存
function save() {

    //上传图片（因为没有删除操作，所以不需要考虑修改页面删除图片的情况）
    if (actionUrl == "admin/circleInfo/add") {
        if($("#pictureAddressOne").val()==""){
            $("#pictureAddressOne").tips({
                side:3,
                msg:'请上传圈子背景图',
                bg:'#AE81FF',
                time:2
            });
            $("#pictureAddressOne").focus();
            return false;
        }
        if($("#pictureAddressTwo").val()==""){
            $("#pictureAddressTwo").tips({
                side:3,
                msg:'请上传圈子头像',
                bg:'#AE81FF',
                time:2
            });
            $("#pictureAddressTwo").focus();
            return false;
        }
    }

    //圈子简介
    if ($("#circleBrief").val() == "") {
        $("#circleBrief").tips({
            side: 3,
            msg: '输入圈子简介',
            bg: '#AE81FF',
            time: 2
        });
        $("#circleBrief").focus();
        return false;
    } else {
        $("#circleBrief").val($.trim($("#circleBrief").val()));
    }

    //圈子名称
    if ($("#circleName").val() == "") {
        $("#circleName").tips({
            side: 3,
            msg: '输入圈子名称',
            bg: '#AE81FF',
            time: 2
        });
        $("#circleName").focus();
        return false;
    } else {
        $("#circleName").val($.trim($("#circleName").val()));
    }

    //小时数 0-24整数
    if ($("#hour").val() != "") {
        var hour = $("#hour").val();
        if (!$.fn.isPositiveInteger(hour) && hour != "0") {
            $("#hour").tips({
                side: 3,
                msg: '请输入正整数',
                bg: '#AE81FF',
                time: 2
            });
            $("#hour").focus();
            return false;
        }
        hour = parseInt(hour);
        if (hour > 24 || hour < 0) {
            $("#hour").tips({
                side: 3,
                msg: '请输入0-24之间的正整数',
                bg: '#AE81FF',
                time: 2
            });
            $("#hour").focus();
            return false;
        }
    }

    //分钟数 0-60整数
    if ($("#minute").val() != "") {
        var minute = $("#minute").val();
        if (!$.fn.isPositiveInteger(minute) && minute != "0") {
            $("#minute").tips({
                side: 3,
                msg: '请输入正整数',
                bg: '#AE81FF',
                time: 2
            });
            $("#minute").focus();
            return false;
        }
        minute = parseInt(minute);
        if (minute > 60 || minute < 0) {
            $("#minute").tips({
                side: 3,
                msg: '请输入0-60之间的正整数',
                bg: '#AE81FF',
                time: 2
            });
            $("#minute").focus();
            return false;
        }
    }

    //0-999整数
    if ($("#sendArticleTotal").val() != "") {
        var sendArticleTotal = $("#sendArticleTotal").val();
        if (!$.fn.isPositiveInteger(sendArticleTotal)) {
            $("#sendArticleTotal").tips({
                side: 3,
                msg: '请输入正整数',
                bg: '#AE81FF',
                time: 2
            });
            $("#sendArticleTotal").focus();
            return false;
        }
        sendArticleTotal = parseInt(sendArticleTotal);
        if (sendArticleTotal > 999 || sendArticleTotal < 0) {
            $("#sendArticleTotal").tips({
                side: 3,
                msg: '请输入0-999之间的正整数',
                bg: '#AE81FF',
                time: 2
            });
            $("#sendArticleTotal").focus();
            return false;
        }
    }

    if (actionUrl == "admin/circleInfo/edit") { //如果是修改页面
        var circleNameNew = $("#circleName").val();
        if (circleNameNew != circleNameOld) { //如果修改了圈子名称
            //验证圈子名称不能重复，如果重复给出提示，没有重复提交表单
            validateSameName();
        } else {
            $("#form").submit();
            $("#zhongxin").hide();
            $("#zhongxin2").show();
        }
    } else {
        //验证圈子名称不能重复，如果重复给出提示，没有重复提交表单
        validateSameName();
    }

}

//验证圈子名称不能重复，如果重复给出提示，没有重复提交表单
function validateSameName() {
    $.ajax({
        url : path + "/admin/circleInfo/validateSameName",
        type : "post",
        dataType : "json",
        data : decodeURIComponent($("#form").serialize(), true),
        success : function (data) {
            if (data.code == 400) {
                top.hangge();
                bootbox.dialog({
                    message: "<span class='bigger-110'>" + data.msg + "</span>",
                    buttons: {
                        "button" : {
                            "label" : "确定",
                            "className" : "btn-sm btn-success"
                        }
                    }
                });
            } else {
                $("#form").submit();
                $("#zhongxin").hide();
                $("#zhongxin2").show();
            }
        }
    });
}

$(function() {
    //下拉框
    if(!ace.vars['touch']) {
        $('.chosen-select').chosen({allow_single_deselect:true});
        $(window)
            .off('resize.chosen')
            .on('resize.chosen', function() {
                $('.chosen-select').each(function() {
                    var $this = $(this);
                    $this.next().css({'width': $this.parent().width()});
                });
            }).trigger('resize.chosen');
        $(document).on('settings.ace.chosen', function(e, event_name, event_val) {
            if(event_name != 'sidebar_collapsed') return;
            $('.chosen-select').each(function() {
                var $this = $(this);
                $this.next().css({'width': $this.parent().width()});
            });
        });
        $('#chosen-multiple-style .btn').on('click', function(e){
            var target = $(this).find('input[type=radio]');
            var which = parseInt(target.val());
            if(which == 2) $('#form-field-select-4').addClass('tag-input-style');
            else $('#form-field-select-4').removeClass('tag-input-style');
        });
    }
});
